//
//  AppDelegate.swift
//  1215微博终极项目
//
//  Created by chok崋 on 15/12/15.
//  Copyright © 2015年 周卓华. All rights reserved.
//

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?


    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.
        //设置导航的渲染
        setNavColor()
        
        //加载账号的
        let userAccount = CZUserAccount.loadUserAccount()
        print("userAccount:\(userAccount)")
        
        //创建window
        window = UIWindow(frame: UIScreen.mainScreen().bounds)
        //创建window的背景颜色
        window?.backgroundColor = UIColor .whiteColor()
        //设置根控制器
//        window?.rootViewController = CZMainViewController()
        window?.rootViewController = defaultController()
        
        //设置欢迎界面
//        window?.rootViewController = CZWelcomeViewController()
        
        //设置新特性界面
//        window?.rootViewController = CZNewFeatureViewController()
        
        window?.makeKeyAndVisible()
        
        //测试新版本
//         let newVersion = isNewVersion()
//        print("newVersion:\(newVersion)")
        
        return true
    }
    func setNavColor()
    {
        //获得导航栏
        let bar = UINavigationBar.appearance()
        bar.tintColor = UIColor.orangeColor()
    }

   //mark:判断当前的版本是否是新版本
    private func isNewVersion() -> Bool
    {
         //1.获取当前的版本 
        let currentVersion = NSBundle.mainBundle().infoDictionary!["CFBundleShortVersionString"] as! String
        
        print("当前的版本是：\(currentVersion)")
        
        //2.获取上一次保存的版本
        //保存到沙盒中
        let sandboxVersionKey = "sandboxVersionKey"
        let sandboxVersion = NSUserDefaults.standardUserDefaults().stringForKey(sandboxVersionKey)
        print("沙盒版本:\(sandboxVersion)")
        
        //保存当前的版本 
        NSUserDefaults.standardUserDefaults().setObject(currentVersion, forKey: sandboxVersionKey)
        //进行同步
        NSUserDefaults.standardUserDefaults().synchronize()
        
        //string类型的对比
        return currentVersion != sandboxVersion
    }
    
    //判断程序启动后显示的默认控制器
    private func defaultController() -> UIViewController
    {
        if !CZUserAccount.userLogin
        {
           //用户没有登录
            return CZMainViewController()
        }
        
        //用户有登录，判断是否是新版本
        return isNewVersion() ? CZNewFeatureViewController() : CZWelcomeViewController()
    }
    
    //目标控制器有两个，设置一个方法，提供给其他控制器进行切换,isMain == true 就是CZMainController， false就是welcomeController
    func switchRootViewController(isMain:Bool)
    {
        window?.rootViewController = isMain ? CZMainViewController() : CZWelcomeViewController()
    }
}







